Broadcast video signals often include semi-transparent channel identification information that can be presented to a viewer by way of an on-screen display (OSD). Video processors generally output data for the OSD as an overlay of processed image data. OSDs can be used for various purposes in addition to providing the user with channel identification information. For example, OSDs can provide viewers with the ability to control settings for the display device itself, which is typically a monitor or television, or for other devices that are in communication with the display device such as a digital video recorder (DVR).
While video sources typically have frame rates of 24 or 30 frames per second, display devices such as televisions and monitors generally have refresh rates of 60 Hz, 120 Hz, 240 Hz, etc. Because the display devices are refreshed or updated at a higher rate than the video source, video frame interpolation is often employed to reduce or prevent negative impact on the clarity and smoothness of the video presented to the user by the display device.
Video frame interpolation generally involves creating intermediate frames between original frames received from the video source. For example, motion vectors (MVs) can be calculated for changes between two successive video frames received from the video source. These motion MVs can then be used to create the intermediate frames by interpolating the motion of the video between the two successive frames. If the underlying area of a transparent OSD is moving during the frame rate conversion process, no MV is correct for this kind of region. If a non-zero MV is used for the OSD region, there are two kinds of artifacts that will typically appear. The first artifact manifests itself as a broken OSD. The second artifact involves presenting a dirty background with the OSD to the viewer.
Accordingly, a need remains for improved video frame interpolation in situations that involve OSDs.